package tt.dz.dao.ext.base;

import java.util.List;

import org.apache.commons.collections.map.ListOrderedMap;
import org.springframework.stereotype.Repository;

import tt.dz.dao.base.BasisDao;
import tt.dz.entity.base.OmsErrorType;
import tt.dz.util.Constants;

/**
 * 纠错分类数据操作Dao
 * 
 * @author xielongfei
 * 
 */
@Repository
public class OmsErrorTypeDao extends BasisDao<OmsErrorType> {
	
	/**
	 * 分页查询有效纠错分类
	 * @param paramsMap 有序参数Map
	 * @param pageNo 页码索引
	 * @param pageSize 每页个数
	 * @param sortName 排序列名
	 * @param sortVal 排序方式 1 正序 其他倒序
	 * @return
	 */
	public List<OmsErrorType> pagingFindValidErrorTypeEmbedList(
			ListOrderedMap paramMap, Integer pageNo, Integer pageSize, String sortName,
			Integer sortValue) {

		if (pageNo!=null && pageNo <= 1) {
			pageNo = 1;
		}
		// 如果参数集没有初始化
		if (paramMap == null) {
			paramMap = new ListOrderedMap();
		}
		// 设置有效标志
		paramMap.put(Constants.Jdbc.VALID_FLAG, 1);
		return super.findListByClass(OmsErrorType.class, paramMap, pageNo,
				pageSize, sortName, sortValue);
	}
	
	/**
	 * 通过错误类别ID查询有效纠错分类详细
	 * @param error_type_id
	 * @return
	 */
	public OmsErrorType findValidErrorTypeByErrorTypeId(Integer error_type_id){
		
		OmsErrorType omsErrorType = new OmsErrorType();

		//设置参数值
		omsErrorType.setError_type_id(error_type_id);
		// 设置有效标志
		omsErrorType.setValid_flag(1);
		
		//查询数据
		List<OmsErrorType> omsErrorTypes = super.findExample(omsErrorType, null, null, null, null);
		if(omsErrorTypes!=null && omsErrorTypes.size()>0){
			return omsErrorTypes.get(0);
		}
		return null;
	}
	
	/**
	 * 通过错误类别ID查询纠错分类详细包含无效标识数据
	 * @param error_type_id
	 * @return
	 */
	public OmsErrorType findErrorTypeByErrorTypeIdIncludeInvalid(Integer error_type_id){

		//设置参数值
		OmsErrorType omsErrorType = new OmsErrorType();

		omsErrorType.setError_type_id(error_type_id);
		
		//查询数据
		List<OmsErrorType> omsErrorTypes = super.findExample(omsErrorType, null, null, null, null);
		if(omsErrorTypes!=null && omsErrorTypes.size()>0){
			return omsErrorTypes.get(0);
		}
		return null;
	}
	
}
